package com.doit.day02;

import java.util.ArrayList;
import java.util.HashMap;

public class _01_算子底层的小实现 {
    public static void main(String[] args) {

        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);

        //list.map((a:Int)=> a*10)
        ArrayList<Integer> res = new ArrayList<>();

        for (Integer i : list) {
            res.add(i*10);
        }

        //list.filter((a:Int)=>a%2==0)
        for (Integer i : list) {
            if (i % 2 == 0){
                res.add(i);
            }
        }

        ArrayList<ArrayList<Integer>> arrayLists = new ArrayList<>();
        arrayLists.add(list);
        arrayLists.add(list);
        arrayLists.add(list);
        arrayLists.add(list);



        for (ArrayList<Integer> arrayList : arrayLists) {
            for (Integer integer : arrayList) {
                res.add(integer);
            }
        }

        //groupBy

        ArrayList<String> list1 = new ArrayList<>();
        list1.add("zss");
        list1.add("lss");
        list1.add("ww");
        list1.add("zss");
        list1.add("lss");
        list1.add("lss");
        list1.add("zss");
        //相同的key全部放在一次
        /*
        Map(
        ("zss",List("zss","zss","zss")),
        ("lss",List("lss","lss","lss")),
        ("ww",List("ww"))
        )
         */

        HashMap<String, ArrayList<String>> map = new HashMap<>();

        //list1.groupBy(word=>word)
        for (String s : list1) {
            ArrayList<String> orDefault = map.getOrDefault(s, new ArrayList<String>());
            orDefault.add(s);
            map.put(s,orDefault);
        }
        System.out.println(map);





    }
}
